package cn.yanxiaohui.service.web.pattern.observer;

/**
 * 定义被观察的接口
 * 一般有三个方法：订阅，取消订阅以及推送信息
 * @author yanxh
 */
public interface Observerable {
    /**
     * 在被观察处进行订阅
     * @param observer
     */
    void subscribe(Observer observer);

    /**
     * 在被观察处进行取消订阅
     * @param observer
     */
    void remove(Observer observer);

    /**
     * 发布信息，推送至观察者
     */
    void notifyObserver();
}
